Web browsers have evolved over the years, from web browsers that were typically used to view static web pages to dynamic web pages and web applications that have browser elements that can be configured for animation, audio, video, high resolution images, web scripts, applications, etc. However, one problem that exists with current browsers is that browser elements running in web browsers are unable to directly communicate with each other and this can hinder browser functionality. Further, external applications are unable to initiate direct communication with browser elements running in web browsers. As a result, development of web applications utilizing communication with browser elements is limited.